package main

import (
	"bufio"
	"fmt"
	"io/ioutil"
	"os"
)

// 使用 bufio 写文件
func writeFileByBufio(name string) {
	file, err := os.OpenFile("./xx.txt", os.O_CREATE|os.O_WRONLY, 0755)
	if err != nil {
		fmt.Println("打开文件失败", err)
		return
	}
	defer file.Close()
	writer := bufio.NewWriter(file)
	for i := 0; i < 10; i++ {
		writer.WriteString("%d.hello 中国") // 将数据写到缓存中
	}
	writer.Flush() // 将内存中的数据写到文件中
}

// 使用 ioutil.WriteFile 写文件

func writeFileByIoutil(name, content string) {
	err := ioutil.WriteFile(name, []byte(content), 0666)
	if err != nil {
		fmt.Println("写文件失败：", err)
		return
	}
}

func main() {

	file, err := os.OpenFile("./xx.txt", os.O_CREATE|os.O_WRONLY, 0755)
	if err != nil {
		fmt.Println("打开文件失败", err)
		return
	}
	defer file.Close()

	str := "hello 中国"
	file.Write([]byte("哈哈哈\n")) // 写byte的切片
	file.WriteString(str)       // 写字符串

}
